package com.jy.adscm.operation.cg.bean;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * <p>
 * bom
 * </p>
 *
 * @author zyl
 * @since 2019-07-07
 */
public class CgBom implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * bom名称
     */
    private String name;
    /**
     * 物料编码
     */
    private String code;
    /**
     * 物料型号
     */
    private String type;
    /**
     * 管理等级
     */
    private String texture;
    /**
     * 图纸id
     */
    private Integer drawId;
    @TableField(exist = false)
    private String drawIdName;
    /**
     * 图纸编号
     */
    private String drawCode;
    /**
     * 机型
     */
    private Integer machineType;
    @TableField(exist = false)
    private String machineTypeName;
    /**
     * 使用量
     */
    private Float nums;
    /**
     * 管理等级
     */
    private Integer managerLevel;
    /**
     * 损耗系数
     */
    private Float no;
    /**
     * 创建人
     */
    private String creator;
    @TableField(exist = false)
    private String creatorName;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 启用（1）禁用（0）
     */

    private  Integer  enable;
    /**
     * 物料提前期
     */
    private  Integer materialleadTime;
    @TableField(exist = false)
    private  String  isHas;
    @TableField(exist = false)
    private  String  suppilerNums;
    @TableField(exist = false)
    private Date  preDate;
    @TableField(exist = false)
    private Date  latePayDate;
    @TableField(exist = false)
    private String   payMethod;//支付方式
    @TableField(exist = false)
    private  Float  price;//单价
    @TableField(exist = false)
    private  CgBomSupplier cgBomSupplier;
    @TableField(exist = false)
    private  CgSupplier cgSupplier;
    @TableField(exist = false)
    private  Float total;
    @TableField(exist = false)
    private  Float minPurchaseTotal;
    private  Integer  mid;
    @TableField(exist = false)
    private  CgMaterial  cgMaterial;

    public CgMaterial getCgMaterial() {
        return cgMaterial;
    }

    public void setCgMaterial(CgMaterial cgMaterial) {
        this.cgMaterial = cgMaterial;
    }

    public Integer getMid() {
        return mid;
    }

    public void setMid(Integer mid) {
        this.mid = mid;
    }

    public Float getMinPurchaseTotal() {
        return minPurchaseTotal;
    }

    public void setMinPurchaseTotal(Float minPurchaseTotal) {
        this.minPurchaseTotal = minPurchaseTotal;
    }

    public Float getTotal() {
        return total;
    }

    public void setTotal(Float total) {
        this.total = total;
    }

    public String getDrawIdName() {
        return drawIdName;
    }

    public void setDrawIdName(String drawIdName) {
        this.drawIdName = drawIdName;
    }

    public String getMachineTypeName() {
        return machineTypeName;
    }

    public void setMachineTypeName(String machineTypeName) {
        this.machineTypeName = machineTypeName;
    }

    public CgBomSupplier getCgBomSupplier() {
        return cgBomSupplier;
    }

    public void setCgBomSupplier(CgBomSupplier cgBomSupplier) {
        this.cgBomSupplier = cgBomSupplier;
    }

    public CgSupplier getCgSupplier() {
        return cgSupplier;
    }

    public void setCgSupplier(CgSupplier cgSupplier) {
        this.cgSupplier = cgSupplier;
    }

    public String getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(String payMethod) {
        this.payMethod = payMethod;
    }

    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getPreDate() {
        return preDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setPreDate(Date preDate) {
        this.preDate = preDate;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getLatePayDate() {
        return latePayDate;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setLatePayDate(Date latePayDate) {
        this.latePayDate = latePayDate;
    }

    public String getIsHas() {
        return isHas;
    }

    public void setIsHas(String isHas) {
        this.isHas = isHas;
    }

    public String getSuppilerNums() {
        return suppilerNums;
    }

    public void setSuppilerNums(String suppilerNums) {
        this.suppilerNums = suppilerNums;
    }

    public Integer getMaterialleadTime() {
        return materialleadTime;
    }

    public void setMaterialleadTime(Integer materialleadTime) {
        this.materialleadTime = materialleadTime;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public Integer getEnable() {
        return enable;
    }

    public void setEnable(Integer enable) {
        this.enable = enable;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTexture() {
        return texture;
    }

    public void setTexture(String texture) {
        this.texture = texture;
    }

    public Integer getDrawId() {
        return drawId;
    }

    public void setDrawId(Integer drawId) {
        this.drawId = drawId;
    }

    public String getDrawCode() {
        return drawCode;
    }

    public void setDrawCode(String drawCode) {
        this.drawCode = drawCode;
    }

    public Integer getMachineType() {
        return machineType;
    }

    public void setMachineType(Integer machineType) {
        this.machineType = machineType;
    }

    public Float getNums() {
        return nums;
    }

    public void setNums(Float nums) {
        this.nums = nums;
    }

    public Integer getManagerLevel() {
        return managerLevel;
    }

    public void setManagerLevel(Integer managerLevel) {
        this.managerLevel = managerLevel;
    }

    public Float getNo() {
        return no;
    }

    public void setNo(Float no) {
        this.no = no;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return "CgBom{" +
        "id=" + id +
        ", name=" + name +
        ", code=" + code +
        ", type=" + type +
        ", texture=" + texture +
        ", drawId=" + drawId +
        ", drawCode=" + drawCode +
        ", machineType=" + machineType +
        ", nums=" + nums +
        ", managerLevel=" + managerLevel +
        ", no=" + no +
        ", creator=" + creator +
        ", createTime=" + createTime +
        "}";
    }
}
